﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x020005E1 RID: 1505
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class FormulaInfo : IMessage<FormulaInfo>, IMessage, IEquatable<FormulaInfo>, IDeepCloneable<FormulaInfo>, IBufferMessage
	{
		// Token: 0x17001350 RID: 4944
		// (get) Token: 0x060043BB RID: 17339 RVA: 0x000B9117 File Offset: 0x000B7317
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<FormulaInfo> Parser
		{
			get
			{
				return FormulaInfo._parser;
			}
		}

		// Token: 0x17001351 RID: 4945
		// (get) Token: 0x060043BC RID: 17340 RVA: 0x000B911E File Offset: 0x000B731E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return FormulaInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17001352 RID: 4946
		// (get) Token: 0x060043BD RID: 17341 RVA: 0x000B9130 File Offset: 0x000B7330
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return FormulaInfo.Descriptor;
			}
		}

		// Token: 0x060043BE RID: 17342 RVA: 0x000B9137 File Offset: 0x000B7337
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public FormulaInfo()
		{
		}

		// Token: 0x060043BF RID: 17343 RVA: 0x000B914C File Offset: 0x000B734C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public FormulaInfo(FormulaInfo other) : this()
		{
			this.formulaId_ = other.formulaId_;
			this.isExpand_ = other.isExpand_;
			this.formulaBuffTypeList_ = other.formulaBuffTypeList_.Clone();
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x060043C0 RID: 17344 RVA: 0x000B9199 File Offset: 0x000B7399
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public FormulaInfo Clone()
		{
			return new FormulaInfo(this);
		}

		// Token: 0x17001353 RID: 4947
		// (get) Token: 0x060043C1 RID: 17345 RVA: 0x000B91A1 File Offset: 0x000B73A1
		// (set) Token: 0x060043C2 RID: 17346 RVA: 0x000B91A9 File Offset: 0x000B73A9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint FormulaId
		{
			get
			{
				return this.formulaId_;
			}
			set
			{
				this.formulaId_ = value;
			}
		}

		// Token: 0x17001354 RID: 4948
		// (get) Token: 0x060043C3 RID: 17347 RVA: 0x000B91B2 File Offset: 0x000B73B2
		// (set) Token: 0x060043C4 RID: 17348 RVA: 0x000B91BA File Offset: 0x000B73BA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool IsExpand
		{
			get
			{
				return this.isExpand_;
			}
			set
			{
				this.isExpand_ = value;
			}
		}

		// Token: 0x17001355 RID: 4949
		// (get) Token: 0x060043C5 RID: 17349 RVA: 0x000B91C3 File Offset: 0x000B73C3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<FormulaBuffTypeInfo> FormulaBuffTypeList
		{
			get
			{
				return this.formulaBuffTypeList_;
			}
		}

		// Token: 0x060043C6 RID: 17350 RVA: 0x000B91CB File Offset: 0x000B73CB
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as FormulaInfo);
		}

		// Token: 0x060043C7 RID: 17351 RVA: 0x000B91DC File Offset: 0x000B73DC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(FormulaInfo other)
		{
			return other != null && (other == this || (this.FormulaId == other.FormulaId && this.IsExpand == other.IsExpand && this.formulaBuffTypeList_.Equals(other.formulaBuffTypeList_) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x060043C8 RID: 17352 RVA: 0x000B923C File Offset: 0x000B743C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.FormulaId != 0U)
			{
				num ^= this.FormulaId.GetHashCode();
			}
			if (this.IsExpand)
			{
				num ^= this.IsExpand.GetHashCode();
			}
			num ^= this.formulaBuffTypeList_.GetHashCode();
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x060043C9 RID: 17353 RVA: 0x000B92A2 File Offset: 0x000B74A2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x060043CA RID: 17354 RVA: 0x000B92AA File Offset: 0x000B74AA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x060043CB RID: 17355 RVA: 0x000B92B4 File Offset: 0x000B74B4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			this.formulaBuffTypeList_.WriteTo(ref output, FormulaInfo._repeated_formulaBuffTypeList_codec);
			if (this.IsExpand)
			{
				output.WriteRawTag(80);
				output.WriteBool(this.IsExpand);
			}
			if (this.FormulaId != 0U)
			{
				output.WriteRawTag(120);
				output.WriteUInt32(this.FormulaId);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x060043CC RID: 17356 RVA: 0x000B9320 File Offset: 0x000B7520
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.FormulaId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.FormulaId);
			}
			if (this.IsExpand)
			{
				num += 2;
			}
			num += this.formulaBuffTypeList_.CalculateSize(FormulaInfo._repeated_formulaBuffTypeList_codec);
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x060043CD RID: 17357 RVA: 0x000B9380 File Offset: 0x000B7580
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(FormulaInfo other)
		{
			if (other == null)
			{
				return;
			}
			if (other.FormulaId != 0U)
			{
				this.FormulaId = other.FormulaId;
			}
			if (other.IsExpand)
			{
				this.IsExpand = other.IsExpand;
			}
			this.formulaBuffTypeList_.Add(other.formulaBuffTypeList_);
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x060043CE RID: 17358 RVA: 0x000B93E1 File Offset: 0x000B75E1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x060043CF RID: 17359 RVA: 0x000B93EC File Offset: 0x000B75EC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 58U)
				{
					if (num != 80U)
					{
						if (num != 120U)
						{
							this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
						}
						else
						{
							this.FormulaId = input.ReadUInt32();
						}
					}
					else
					{
						this.IsExpand = input.ReadBool();
					}
				}
				else
				{
					this.formulaBuffTypeList_.AddEntriesFrom(ref input, FormulaInfo._repeated_formulaBuffTypeList_codec);
				}
			}
		}

		// Token: 0x04001AAA RID: 6826
		private static readonly MessageParser<FormulaInfo> _parser = new MessageParser<FormulaInfo>(() => new FormulaInfo());

		// Token: 0x04001AAB RID: 6827
		private UnknownFieldSet _unknownFields;

		// Token: 0x04001AAC RID: 6828
		public const int FormulaIdFieldNumber = 15;

		// Token: 0x04001AAD RID: 6829
		private uint formulaId_;

		// Token: 0x04001AAE RID: 6830
		public const int IsExpandFieldNumber = 10;

		// Token: 0x04001AAF RID: 6831
		private bool isExpand_;

		// Token: 0x04001AB0 RID: 6832
		public const int FormulaBuffTypeListFieldNumber = 7;

		// Token: 0x04001AB1 RID: 6833
		private static readonly FieldCodec<FormulaBuffTypeInfo> _repeated_formulaBuffTypeList_codec = FieldCodec.ForMessage<FormulaBuffTypeInfo>(58U, FormulaBuffTypeInfo.Parser);

		// Token: 0x04001AB2 RID: 6834
		private readonly RepeatedField<FormulaBuffTypeInfo> formulaBuffTypeList_ = new RepeatedField<FormulaBuffTypeInfo>();
	}
}
